using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// @brief Vector3类的静态扩展类，提供额外的功能方法。
/// 此类为Unity的Vector3类添加了扩展方法，使其能够方便地转换为取整后的Vector2。
/// </summary>
public static class Vector3Extension
{
    /**
     * @brief Round扩展方法，将Vector3对象的x和y分量取整后转换为Vector2。
     * 
     * 此方法接收一个Vector3对象作为参数，将其x和y分量分别使用Mathf.RoundToInt方法进行取整，
     * 然后将取整后的结果封装为一个新的Vector2对象返回。z分量在此方法中被忽略。
     * 
     * @param v 要进行取整转换的Vector3对象。
     * @return 一个新的Vector2对象，其x和y分量分别为原Vector3对象对应分量的取整结果。
     */
    public static Vector2 Round(this Vector3 v)
    {
        int x = Mathf.RoundToInt(v.x); ///< 将Vector3对象的x分量取整。
        int y = Mathf.RoundToInt(v.y); ///< 将Vector3对象的y分量取整。
        return new Vector2(x, y); ///< 返回一个包含取整后x和y分量的新Vector2对象。
    }
}
